#ifndef B2GDNS_ERRORREQUEST_H
#define B2GDNS_ERRORREQUEST_H

#include "request.h"

namespace b2gdns {

	class ErrorRequest : public Request
	{
	public:
		enum Code
		{
			format_error = 1,
			server_failure = 2,
			name_error = 3,
			not_implemented = 4,
			refused = 5
		};

	public:
		ErrorRequest(Header const& header,
			std::vector<std::string> const& question,
			Code error);

		virtual std::unique_ptr<Reply> execute();

	protected:
		Code error_;
	};

} // namespace b2gdns

#endif // B2GDNS_ERRORREQUEST_H
